Linguistic Landscapes, 2023
ggplot2 erstellt Visualisierungen über grafische Ebenen, sog. geoms, und diverse stilistische Anpassungen, bspw. themes, colours, scales, etc.
Die Visualisierung beruft sich hierbei auf einen bestehenden Dataframe und aktivierte Variablen (x, y, fill, colour, size, etc.).
Der Basis-Code ist: ggplot( ) + geom_…( )
Als erstes benötigen wir tidyverse & unsere Daten
ggplot() +
geom_point(data=lingland,
aes(x=long,
y=lat,
fill=Forschungsfokus),
shape=21,
alpha=.7) +
scale_fill_manual(values=c("#FFBE0B",
"#FF006E",
"#8338EC",
"#3A86FF"))+
theme_classic()+
labs(title="Datenpunkte",
subtitle="Linguistic Landscapes, 2023",
x="Längengrad",
y="Breitengrad",
caption="Daten aus dem Seminar")Datenkartierung hilft uns Zusammenhänge zwischen Kategorien und Raum zu erkennen. Beispielsweise könnten uns Straßenführungen oder Parkanlagen Aufschluss über die spezielle Verteilung unserer Datenpunkte geben.
Hierzu kann man die offenen Daten des OSM Projektes nutzen.
OSM, Open Street Maps, ist eine crowdsourcing Initiative, bei der diverse Geodaten gebündelt und bereitgestellt werden.
openstreetmap.org
Über die Objektabfrage (Cursor mit Fragezeichen) lassen sich Karteninhalte überprüfen - beispielsweise alle hinterlegten Informationen zur Alten Rheinbrücke.
openstreetmap.org
Karteninhalte lassen sich als Einzelobjekte aus OSM extrahieren und dann variabel zusammensetzen. Hierzu ist es wichtig die jeweiligen Referenzen zu kennen:
key - obere Kategorie (Bsp. water)
values - zugehörige untere Kategorien (Bsp. lake)
Um die Karte zu erstellen, schichten wir Objekte, die bestimmte Geo-Daten zusammenfassen:

Packages, die installiert werden müssen:
In den nächsten Folien zeigen wir wie sich die Objekterstellung zusammensetzt - führen Sie die Codezeilen einfach im Skript aus!
(Die Visualisierungen sind hier kurze Einblicke für die Folien und gehören nicht zum Code Output!)
Weitere Objekte im Skript!
Führen Sie die weiteren Objekte aus dem Skript aus:
Insel
Gebäude
Grünflächen
Grenze
Die Objekte lassen sich nun aufeinander schichten.
Achtung: die Reihenfolge ist wichtig!
Karte <- ggplot() +
geom_sf(data=KN_Wasserweg$osm_lines,
inherit.aes = FALSE,
color = "#15616D",
size=.8) +
geom_sf(data=KN_Wasser$osm_multipolygons,
inherit.aes = FALSE,
fill = "#15616D",
color="#15616D") +
geom_sf(data=KN_Wasser2$osm_polygons,
inherit.aes = FALSE,
fill = "#15616D",
color="#15616D") +
geom_sf(data=KN_Insel$osm_polygons,
inherit.aes = FALSE,
fill = "white",
colour="NA") +
geom_sf(data=KN_buildings$osm_polygons,
inherit.aes = FALSE,
alpha=.5,
fill = "mistyrose4",
colour = "NA") +
geom_sf(data=KN_Bruecke$osm_polygons,
inherit.aes=FALSE,
color=NA,
fill="grey3") +
geom_sf(data = KN_Strasse1$osm_lines,
inherit.aes = FALSE,
color = "grey3",
linewidth = .5) +
geom_sf(data = KN_Strasse1$osm_polygons,
inherit.aes = FALSE,
color = "grey3",
fill="grey3",
linewidth = .5) +
geom_sf(data = KN_Strasse2$osm_lines,
inherit.aes = FALSE,
color = "grey2",
linewidth = .35) +
geom_sf(data = KN_Strasse2$osm_polygons,
inherit.aes = FALSE,
color = "grey2",
fill="grey2",
linewidth = .35) +
geom_sf(data = KN_Strasse3$osm_lines,
inherit.aes = FALSE,
color = "grey2",
linewidth = .2) +
geom_sf(data = KN_Strasse3$osm_polygons,
inherit.aes = FALSE,
color = "grey2",
fill=NA,
linewidth = .2)+
geom_sf(data = KN_Bahn$osm_lines,
inherit.aes = FALSE,
color = "gray1",
linewidth = .3,
linetype="longdash") +
# geom_sf(data= KN_Grenze$osm_lines,
# inherit.aes = FALSE,
# color= "#ffecd1",
# linewidth = 1,
# alpha = .6,
# linetype="dotted") +
coord_sf(xlim = c(9.15, 9.221),
ylim = c(47.655, 47.694))
KarteKarte +
geom_point(data=lingland,
aes(x=long,
y=lat),
shape=21,
fill="mediumvioletred",
color="black",
alpha=.7) +
labs(title="Datensammlung",
subtitle="Seminar zu Linguistic Landscapes, 2023",
caption="Karte: OSM") +
theme(plot.title = element_text(vjust=2.5),
plot.subtitle =element_text(vjust=2.5))+
theme_void()Probieren Sie einmal unseren Datensatz auf der Karte nach Kategorien farblich zu markieren (Tipp: Scrollen Sie hierzu zurück zum Beginn der Sitzung).
Probieren Sie einmal eine Karte nur vom Campus zu erstellen!